'''
Автоматизируем процесс построения таблиц.
Создадим для начала все списки, как и что будет меняться, если нужно поменять
'''
for_list=np.arange(2,10,0.5, dtype=float)
Ffok_list=for_list
Fdef_list=for_list
d_list=for_list
s1_list=for_list
s2_list=for_list
word_list=['ОФО','ОДО','фодо','дофо','фодофо','офодо','фофододо'] # ВАЖНО! Впишите названия
систем, которые вы хотите рассчитать.
#Можно писать и маленькими буквами, дальше есть защита от этого
# Ffok_list=[1,3,5,7,9]
# Fdef_list=[1,3,5,7,9]
# d_list=[1,3,6,8,10]
# s1_list=[1,3,6,8,10]
# s2_list=[1,3,6,8,10]
dic = {}
dic2 = {} # Для обнуления библиотек при каждом запуске (на всякий случай добавил, можно и
убрать)
import warnings
warnings.filterwarnings('ignore') # Добавил тк без этого будет выводиться надпись, что в
будущем метод pd.append не будет использоваться
for word in word_list:
word=word.upper() # Защита от дебила, который написал что-то с маленькой буквы
type_list=typeofl(word) # Разделяем слово по буквам
dic[word] = pd.DataFrame(columns=["Change","Value","x","x`"]) # Создаем отдельный датасет
для системы линз с такими вот колонками
'''
Дальше идет циклический вызов функции нахождения максимума с созданием строки датасета,
который вклинивается в датасет для текущей системы
'''
for i in range(len(word)):
if type_list[i]=='О' and i==0:
for s1 in s1_list:
max_list=focus(word=word, s1=s1)
dic2=pd.DataFrame({"Change":['s1'],"Value":[s1],"x":[max_list[0]],"x`":
[max_list[1]] })
dic[word]=dic[word].append(dic2, ignore_index= True)
elif type_list[i]=='О' and i==len(type_list)-1:
for s2 in s2_list:
max_list=focus(word=word, s2=s2)
dic2=pd.DataFrame({"Change":['s2'],"Value":[s2],"x":[max_list[0]],"x`":
[max_list[1]] })
dic[word]=dic[word].append(dic2, ignore_index= True)
elif type_list[i]=='Ф':
for Ffok in Ffok_list:
max_list=focus(word=word, Ffok=Ffok)
dic2=pd.DataFrame({"Change":['Ffok'],"Value":[Ffok],"x":[max_list[0]],"x`":
[max_list[1]] })
dic[word]=dic[word].append(dic2, ignore_index= True)
elif type_list[i]=='Д':
for Fdef in Fdef_list: